<template>
	 	<view class="top">
		<view class="btns-all">
			<view class="btn_item custom-shadow">
				<wd-button size="large"  class-prefix="iconfont icon-zhifu-weixinzhifu" icon="iconfont icon-zhifu-weixinzhifu" block  style="margin-bottom: 20px;">微信登录</wd-button>
			</view>
			<view class="btn_item btn_margin">
						<wd-button size="large" icon="edit-outline"  block plain @click="pushLogin">其他方式登录</wd-button>
			</view>	
			
			
			
			 <view class="container">
			    <!-- 同意复选框 + 链接 -->
			    <wd-checkbox v-model="agree" @change="handleChange">
			      <text class="text10">我已阅读并同意</text>
			    </wd-checkbox>
			    <text class="policy-link text12" @click="show = true">隐私政策条款</text>
			
			    <!-- 隐私政策弹窗 -->
			    <wd-popup
			      v-model="show"
			      position="bottom"
			      :safe-area-inset-bottom="true"
			      custom-style="height: 400px;"
			      @close="handleClose"
			    >
			      <view class="popup-content">
			        <scroll-view scroll-y class="policy-scroll">
			          <view class="policy-text">
			            <text class="title">隐私政策</text>
			            <text>一、总则</text>
			            <text>1. 本隐私政策旨在说明我们（以下简称“平台”）如何收集、使用、存储、保护您的个人信息，以及您对个人信息享有的权利。</text>
			            <text>2. 您在使用平台服务前，请仔细阅读并理解本政策。若您点击“同意”或继续使用服务，即表示您同意我们按照本政策处理您的个人信息。</text>
			            <text>3. 本政策仅适用于平台提供的服务，不适用第三方链接或服务。</text>
			            
			            <text>二、我们收集的个人信息</text>
			            <text>1. 身份验证信息：您登录时提供的手机号、微信账号信息（如昵称、头像），用于确认您的身份，保障账号安全。</text>
			            <text>2. 服务相关信息：</text>
			            <text>   - 若您为“老人”或“家属”用户，可能涉及健康档案信息（如基础健康状况、用药记录），用于提供精准的健康服务；</text>
			            <text>   - 若您为“志愿者”或“医生”用户，可能涉及职业资质信息（如志愿者证书、医师资格证），用于验证服务资质；</text>
			            <text>   - 预约记录、活动参与记录等，用于跟踪服务进度及为您提供后续服务。</text>
			            <text>3. 设备与日志信息：您使用的设备型号、系统版本、IP地址、操作日志等，用于优化服务稳定性及排查故障。</text>
			            
			            <text>三、个人信息的使用目的</text>
			            <text>1. 提供基础服务：如账号登录、身份验证、服务预约、健康档案管理等。</text>
			            <text>2. 保障服务安全：识别异常登录、防范诈骗等风险，保护您的账号及财产安全。</text>
			            <text>3. 优化服务体验：根据您的使用习惯，改进功能设计；通过您的反馈，提升服务质量。</text>
			            <text>4. 合规要求：在法律法规规定的范围内，配合监管部门调查或履行法定义务。</text>
			            
			            <text>四、个人信息的保护措施</text>
			            <text>1. 我们采用加密技术（如SSL/TLS）存储和传输敏感个人信息，防止信息被未授权访问。</text>
			            <text>2. 我们限制内部人员对个人信息的访问权限，仅授权必要人员处理信息，并定期开展隐私保护培训。</text>
			            <text>3. 我们会定期更新安全防护系统，防范黑客攻击、数据泄露等风险。</text>
			            
			            <text>五、个人信息的共享与转让</text>
			            <text>1. 我们不会将您的个人信息出售给任何第三方。</text>
			            <text>2. 仅在以下情况下，我们可能共享信息：</text>
			            <text>   - 获得您的明确同意；</text>
			            <text>   - 为提供服务需委托第三方处理（如支付服务、短信验证），但我们会要求第三方遵守隐私保护义务；</text>
			            <text>   - 法律法规要求或政府部门依法调取。</text>
			            <text>3. 若平台发生合并、收购等变更，您的个人信息将随业务一并转移，且接收方需继续遵守本政策。</text>
			            
			            <text>六、您的权利</text>
			            <text>1. 访问与修改：您可在“个人中心”查看或修改您的基本信息（如昵称、手机号、健康档案）。</text>
			            <text>2. 撤回授权：您可在平台“设置”中关闭相关权限（如位置权限、相机权限），但可能影响部分服务使用。</text>
			            <text>3. 账号注销：您可联系客服申请注销账号，注销后我们将依法删除或匿名化处理您的个人信息（法律法规要求保留的除外）。</text>
			            <text>4. 投诉与建议：若您对个人信息处理有疑问，可通过平台“帮助中心”或客服渠道反馈，我们将在15个工作日内回复。</text>
			            
			            <text>七、政策更新</text>
			            <text>1. 若法律法规或服务内容发生变更，我们可能更新本政策。更新后，我们将在平台显著位置提示您查看。</text>
			            <text>2. 若您在政策更新后继续使用服务，即表示您同意更新后的政策；若您不同意，可停止使用服务。</text>
			            
			            <text>八、联系我们</text>
			            <text>若您对本政策有任何疑问，可通过以下方式联系我们：</text>
			            <text>1. 客服电话：400-XXXX-XXXX</text>
			            <text>2. 客服邮箱：support@xxxx.com</text>
			            <text>3. 平台内“帮助中心”在线反馈</text>
			          </view>
			        </scroll-view>
			        <view class="popup-footer">
			          <!-- <wd-button size="small" block type="primary" @click="closePopup">我已阅读</wd-button> -->
			        </view>
			      </view>
			    </wd-popup>
			  </view>
			
			
			  
			
		</view>
	</view>

</template>

<script setup>
import {
	ref,
	computed,
	nextTick,
	reactive,
	onMounted
} from 'vue';
import {
	useRouter
} from 'uni-mini-router'

import {
	useFontSizeStore
} from '@/stores/fontSizeStore';
import {
	useTabStore
} from '@/stores/tabs'
import {
	ROLE_TABS
} from "@/config/roles"

import { onShow } from '@dcloudio/uni-app'


 


import { volunteer_get_user_infoApi } from "@/api/volunteer"
import TabComponent from '@/components/tab-bar/index.vue'
import { doctor_cell_list, infoGroups_enum } from '@/utils/enmuText';
const tabStore = useTabStore()
const myRole=ref("");
const navigateOrderListUrl = () => {
	router.push({
		name: "common_orderList",
		params: {
			id: 1,
			type: ""
		}
	})
}

// 控制复选框
const value = ref(false)

const agree = ref(false)
const show = ref(false)

const handleChange = (val) => {
  console.log('用户同意状态：', val)
}

const handleClose = () => {
  show.value = false
}

const closePopup = () => {
  show.value = false
}

// 统计数据
const stats = ref({
	completed: 24,
	satisfaction: 98,
	points: 1280
})

const fontSizeStore = useFontSizeStore();

const router = useRouter();
const userRoleName = ref("");
const infoGroups = reactive(infoGroups_enum)

// ✅ 计算当前角色的 tabs
const currentTabs = computed(() => {
		const pages = getCurrentPages()
	const currentPage = pages[pages.length - 1]
	console.log(" currentPage?.route :", currentPage?.route )
	const role =myRole.value
	console.log("role4:",role)
	return ROLE_TABS[role]?.tabs || ROLE_TABS['default']?.tabs || []
})


// ✅ Tab 点击处理
const changeTab = (tab) => {

 

	// 	// 第一步：参数校验（避免 tab 或 path 不存在导致跳转失败）
	if (!tab || !tab.path || !tab.key) {
		console.error('Tab 数据异常：', tab)
		return
	}
	nextTick(() => {
		router.pushTab({
			name: tab.key
		})
	})


}

onShow(()=>{
	console.log("tabStore.getUserRole:",tabStore.getUserRole,22)
		 const userRole = uni.getStorageSync('userRole')
	 myRole.value=userRole;
	 	console.log("yyyy1",userRole,444)
})

const pushLogin=()=>{
	  if (!agree.value) {
	    uni.showToast({
	      title: '请先阅读并同意隐私政策',
	      icon: 'none',
	      duration: 2000
	    });
	    return;
	  }
			router.push({ name: 'account_login' })
}
// 菜单数据
const menuList = ref([{
	key: 'service',
	title: '服务管理',
	icon: 'icon-fuwuguanli',
	path: "family_serviceItems"
},
{
	key: 'service',
	title: '我的设备',
	icon: 'icon-shebei3',
	path: 'family_myDevices'
},
{
	key: 'appointment',
	title: '预约记录',
	icon: 'icon-yuyuezhongxin',
	path: "common_appointmentList"
},
{
	key: 'activity',
	title: '活动记录',
	icon: 'icon-icon_jiankangdaka',
	path: "common_activityItems"
},
{
	key: 'health',
	title: '健康档案',
	icon: 'icon-jiankang',
	path: "common_healthItems"
},
{
	key: 'emergency',
	title: '紧急联系人',
	icon: 'icon-jinjilianxiren2',
	path: "common_contacts"
},
{
	key: 'addressList',
	title: '收货地址',
	icon: 'icon-location',
	path: "addressList"
},

{
	key: 'help',
	title: '帮助中心',
	icon: 'icon-bangzhuzhongxin1',
	path: "common_help"
}
])


const navigationHandle = (item) => {
	router.push({
		name: item.path,
		params: {
			id: 0
		}
	})
}


// 用户信息
const userInfo = reactive({
	"role": "",
	"username": "",
	"mobile": "",
	"phone": "",
	"location": "",
	"avatar": "",
	"id": ""
})


const navigateUrl = (item) => {
	if (item.key == "") {
		return false;
	}
	router.push({
		name: item.key,
		params: item.params
	})
}


const getRole_text = () => {
	const role=myRole.value;
	if (role == "volunteer") {
		return "志愿者"
	} else if (role == "commerce") {
		return "服务商"
	}
	else if (role == "oldman") {
		return "老人"
	} else if (role == "familyMembers") {
		return "家属"
	}
	else if (role == "doctor") {
		return "医生"
	}
}



onMounted(() => {


	// uni.$on('tabChange', changeTab);
	// tabStore.setUserRole("tabStore.getUserRole")
	//console.log("userRole:",userRole)
	const flag = myRole.value == "volunteer"
	if (flag) {
		volunteer_get_user_infoApi({
			id: "1",
			role: tabStore.getUserRole,// "volunteer"
		}).then((res) => {
			if (res.code == 200) {
				Object.assign(userInfo, res.data);
				const val = res.data?.role;
				userInfo.role = ROLE_TABS[val]?.name;
			}
		})
	}


})

const fontSizeMethod = () => {
	router.push({
		name: "font_size"
	})
}


 

const removeCache = () => {
	// uni.removeStorageSync('userRole')
	uni.setStorageSync('userRole','')
	uni.removeStorage({
		key: 'userRole',
		success: function (res) {
			console.log('success');
			tabStore.setUserRole("")

			uni.showToast({
				title: `清理缓存成功`,
				icon: 'none',
				duration: 2000
			})
						uni.reLaunch({
				url: "/pages/tabPage/doctor/doctor_home"
			})

			// router.pushTab({
			// 	name: "doctor_home"
			// })
		}
	});


}

</script>

<style lang="less" scoped>
@import '@/static/styles/mine/index.less';

// 页面基础容器
.page-container {
  min-height: 100vh;
  padding-bottom: 160px;
  background-color: #f5f7fa; // 更柔和的背景色，提升视觉舒适度
  box-sizing: border-box;
}

// 登录区域容器（核心区域）
.top {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 40rpx 30rpx;
  box-sizing: border-box;
  min-height: calc(100vh - 120rpx); // 自适应高度，确保垂直居中

  // 按钮组容器
  .btns-all {
    width: 100%;
    // display: flex;
    // flex-direction: column;
    // gap: 34rpx; // 按钮间距，替代margin-bottom，更规范
    margin-bottom: 20rpx; // 与下方协议区拉开距离
	.btn_margin{
		margin-top: 20px!important;
		margin-bottom: 5px!important;
	}
  }

  // 单个按钮容器
  .btn_item {
    width: 100%;
    // 微信登录按钮特殊样式
    &.custom-shadow {
      :deep(.wd-button.is-primary) {
        background-color: #07c160; // 微信绿，保持品牌识别
        // border-radius: 16rpx;
        // height: 90rpx;
        font-size: 32rpx;
        // box-shadow: 0 8rpx 20rpx rgba(7, 193, 96, 0.2); // 轻微阴影，增强层次感

        // 图标样式优化
        .iconfont {
          font-size: 36rpx;
          margin-right: 12rpx;
        }
      }
    }

    // 其他登录按钮样式
    // :deep(.wd-button) {
    //   height: 90rpx;
    //   font-size: 32rpx;
    //   border-radius: 16rpx;

    //   // plain按钮样式调整
    //   &.is-plain {
    //     border-color: #e5e7eb;
    //     color: #333;

    //     .iconfont {
    //       font-size: 36rpx;
    //       margin-right: 12rpx;
    //     }
    //   }
    // }
  }

  // 协议勾选区域
  .container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0;

    // 勾选框样式优化
    :deep(.wd-checkbox) {
      font-size: 26rpx;
      color: #666;

      .wd-checkbox__icon {
        width: 32rpx;
        height: 32rpx;
        margin-right: 10rpx;
      }
    }

    // 协议链接样式
    .policy-link {
      color: #1989fa; // 标准链接蓝，提升辨识度
      font-size: 26rpx;
      margin-left: 8rpx;
      text-decoration: underline; // 下划线标识链接，增强交互提示
    }
  }
}

// 隐私政策弹窗样式
:deep(.wd-popup) {
  .popup-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border-top-left-radius: 30rpx; // 顶部圆角，与底部弹窗适配
    border-top-right-radius: 30rpx;

    // 滚动内容区
    .policy-scroll {
      flex: 1;
      padding: 30rpx 24rpx;
      overflow-y: auto; // 滚动条优化
      box-sizing: border-box;

      // 政策文本容器
      .policy-text {
        .title {
          font-size: 34rpx;
          font-weight: 600;
          color: #333;
          margin-bottom: 30rpx;
          text-align: center;
        }

        text {
          display: block;
          font-size: 26rpx;
          line-height: 1.8; // 行高优化，提升阅读体验
          color: #666;
          margin-bottom: 24rpx;

          // 条款标题样式（如“一、”“1.”）
          &:not(.title):first-letter {
            font-weight: 500;
            color: #333;
          }
        }
      }
    }

    // 弹窗底部按钮区
    .popup-footer {
      padding: 20rpx 30rpx 30rpx;
      box-sizing: border-box;
      border-top: 1px solid #f2f2f2; // 分割线，区分内容与按钮

      :deep(.wd-button) {
        height: 88rpx;
        font-size: 32rpx;
        border-radius: 16rpx;
        background-color: #1989fa;
      }
    }
  }
}

// 原有其他组件样式保留（如用户信息卡片、标签栏等，按需调整）
.doctor-info-card,
.tab-scroll,
.user-title,
.custom-value {
  // 若无需修改，可保留原样式；如需优化，可参考上述逻辑调整
}
</style>